<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.hy.${projectCode}</groupId>
        <artifactId>${projectCode}</artifactId>
        <version>${r"${revision}"}</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>

    <artifactId>dependency</artifactId>
    <packaging>pom</packaging>

    <name>dependency</name>

    <properties>

        <spring-cloud.version>2024.0.0</spring-cloud.version>

        <spring-cloud-ali.version>2023.0.1.2</spring-cloud-ali.version>

        <nacos-client.version>2.2.4</nacos-client.version>

        <sa.version>1.0.1</sa.version>

        <redisson.version>3.25.0</redisson.version>

        <apt-maven-plugin.version>1.1.3</apt-maven-plugin.version>

        <mysql.version>8.0.23</mysql.version>

        <sa-token.version>1.40.0</sa-token.version>

        <knife4j.version>4.5.0</knife4j.version>

        <org.mapstruct.version>1.6.0</org.mapstruct.version>

    </properties>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>${r"${project.groupId}"}</groupId>
                <artifactId>common</artifactId>
                <version>${r"${project.version}"}</version>
            </dependency>

            <dependency>
                <groupId>${r"${project.groupId}"}</groupId>
                <artifactId>shared</artifactId>
                <version>${r"${project.version}"}</version>
            </dependency>


            <dependency>
                <groupId>com.hy.mining</groupId>
                <artifactId>mining-sa</artifactId>
                <version>${r"${sa.version}"}</version>
            </dependency>
            <dependency>
                <groupId>org.redisson</groupId>
                <artifactId>redisson</artifactId>
                <version>${r"${redisson.version}"}</version>
            </dependency>
            <dependency>
                <groupId>org.redisson</groupId>
                <artifactId>redisson-spring-boot-starter</artifactId>
                <version>${r"${redisson.version}"}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${r"${spring-cloud.version}"}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${r"${spring-cloud-ali.version}"}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.nacos</groupId>
                <artifactId>nacos-client</artifactId>
                <version>${r"${nacos-client.version}"}</version>
            </dependency>


            <!-- sa-token -->
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-spring-boot3-starter</artifactId>
                <version>${r"${sa-token.version}"}</version>
            </dependency>
            <dependency>
                <groupId>cn.dev33</groupId>
                <artifactId>sa-token-redis</artifactId>
                <version>${r"${sa-token.version}"}</version>
            </dependency>

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
                <version>${r"${knife4j.version}"}</version>
            </dependency>
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-starter-common</artifactId>
                <version>2.7.0</version>
            </dependency>
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
                <version>2.7.0</version>
            </dependency>

            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${r"${mysql.version}"}</version>
            </dependency>

            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct</artifactId>
                <version>${r"${org.mapstruct.version}"}</version>
            </dependency>
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>${r"${org.mapstruct.version}"}</version>
            </dependency>

        </dependencies>
    </dependencyManagement>

    <build>
        <resources>
            <resource>
                <filtering>true</filtering>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>com.mysema.maven</groupId>
                    <artifactId>apt-maven-plugin</artifactId>
                    <version>${r"${apt-maven-plugin.version}"}</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.querydsl</groupId>
                            <artifactId>querydsl-apt</artifactId>
                            <version>${r"${querydsl.version}"}</version>
                            <classifier>jakarta</classifier>
                        </dependency>
                    </dependencies>
                    <executions>
                        <execution>
                            <goals>
                                <goal>process</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>target/generated-sources/java</outputDirectory>
                                <processor>
                                    com.querydsl.apt.jpa.JPAAnnotationProcessor,com.hy.${packageCode}.shared.dbaccess.repository.DBAccessRepositoryProcessor
                                </processor>
                                <showWarnings>true</showWarnings>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>

</project>
